package com.jacen.fzxs.util;

import java.util.Collection;

/**
 * 字符串是实用类
 * @author yexuhui
 * 2012-3-6 下午2:19:29
 */
public class StrUtils {
	
	/**
	 * 判断字符串是否为空
	 * @param str
	 * @return boolean
	 */
	public static boolean isEmpty(String str){
		return (str == null || str.trim().length() == 0) ? true : false;
	}
	
	/**
	 * 判断字符串是否不为空
	 * @param str 字符串
	 * @return boolean
	 * yexuhui 2012-7-29 上午9:43:43
	 */
	public static boolean isNotEmpty(String str){
		return !isEmpty(str);
	}
	
	/**
	 * 将字符串首字母大写
	 * @param str
	 * @return String
	 */
	public static String normalize(String str){
		if(str == null) return null;
		if(str.trim().length() == 0) return str;
		
		StringBuilder sb = new StringBuilder();
		sb.append(Character.toUpperCase(str.charAt(0)));
		sb.append(str.substring(1));
		return sb.toString();
	}

	/**
	 * 将集合中的元素用分隔符拼成字符串
	 * @param coll 集合对象
	 * @param separator 分隔符
	 * @return String
	 */
	public static String join(Collection<? extends Object> coll, String separator) {
		if(coll == null || coll.size() == 0) return "";
		
		int i = 0;
		StringBuilder sb = new StringBuilder();
		for(Object obj : coll) {
			sb.append(obj.toString());
			if(i++ != (coll.size() - 1)) sb.append(separator);
		}
		
		return sb.toString();
	}
	
	/**
	 * 将第一个字符转为大写
	 * 
	 * @param str
	 * @return
	 */
	public static String toFirstUpperCase(String str) {
		return Character.toUpperCase(str.charAt(0)) + str.substring(1);
	}
}
